import logging



class Log:
    @classmethod
    def logconf(cls):
        cls.log = logging.getLogger(__name__)#创建日志对象
        cls.log.setLevel(logging.DEBUG)#设置日志的最低等级

        handler = logging.FileHandler("log\\all.log", encoding="utf-8")#创建一个总日志文件

        info_handler = logging.FileHandler("log\\info.log", encoding="utf-8")#创建一个inte日志文件
        info_handler.addFilter(lambda record: record.levelno == logging.INFO)#添加过滤器，把INFO的内容过滤到INFO的日志文件中

        err_handler = logging.FileHandler("log\\err.log", encoding="utf-8")#创建一个err的日志文件
        err_handler.addFilter(lambda record: record.levelno == logging.ERROR) #添加过滤器，把err的内容过滤到err的日志文件中

        formatter = logging.Formatter( #设置日志文件中的日志信息格式
            "%(asctime)s %(levelname)s [%(name)s] [%(filename)s (%(funcName)s:%(lineno)d)] - %(message)s"
        )

        # 格始化日志文件中的录入信息，需要按照格式录入
        handler.setFormatter(formatter)
        info_handler.setFormatter(formatter)
        err_handler.setFormatter(formatter)

        cls.log.addHandler(handler)#把设置好的日志信息添加到日志对象
        cls.log.addHandler(info_handler)#把设置好的日志信息添加到日志对象
        cls.log.addHandler(err_handler)#把设置好的日志信息添加到日志对象

        return cls.log

